home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIP Haziran 2001.iso / prog / haziran / 19 / setup.exe / data.z / altera_lib.h < prev    next >
C/C++ Source or Header  |  2001-04-11  |  4KB  |  134 lines

  1. //////////////////////////////////////////////////////////////////////
  2. // File - altera_lib.h
  3. //
  4. // Library for accessing the ALTERA card,
  5. // Code was generated by Driver Wizard.
  6. // It accesses the hardware via WinDriver functions.
  7. // 
  8. //////////////////////////////////////////////////////////////////////
  9.  
  10. #ifndef _ALTERA_LIB_H_
  11. #define _ALTERA_LIB_H_
  12.  
  13. #ifdef __KERNEL__
  14.     #include "../../../include/kdstdlib.h"
  15. #endif //__KERNEL__
  16. #include "../../../include/windrvr.h"
  17. #include "../../../samples/shared/pci_regs.h"
  18. #include "../../../samples/shared/bits.h"
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. enum { ALTERA_DEFAULT_VENDOR_ID = 0x1172 };
  25. enum { ALTERA_DEFAULT_DEVICE_ID = 0x0004 };
  26.  
  27. typedef enum
  28. {
  29.     ALTERA_MODE_BYTE   = 0,
  30.     ALTERA_MODE_WORD   = 1,
  31.     ALTERA_MODE_DWORD  = 2
  32. } ALTERA_MODE;
  33.  
  34. typedef enum
  35. {
  36.     ALTERA_AD_BAR0 = AD_PCI_BAR0,
  37.     ALTERA_AD_BAR1 = AD_PCI_BAR1,
  38.     ALTERA_AD_BAR2 = AD_PCI_BAR2,
  39.     ALTERA_AD_BAR3 = AD_PCI_BAR3,
  40.     ALTERA_AD_BAR4 = AD_PCI_BAR4,
  41.     ALTERA_AD_BAR5 = AD_PCI_BAR5,
  42.     ALTERA_AD_EPROM = AD_PCI_BAR_EPROM,
  43.     ALTERA_ITEMS = AD_PCI_BARS
  44. } ALTERA_ADDR;
  45.  
  46. typedef struct ALTERA_STRUCT *ALTERA_HANDLE;
  47.  
  48. typedef struct
  49. {
  50.     DWORD dwCounter;   // number of interrupts received
  51.     DWORD dwLost;      // number of interrupts not yet dealt with
  52.     BOOL fStopped;     // was interrupt disabled during wait
  53. } ALTERA_INT_RESULT;
  54.  
  55. typedef void (WINAPI *ALTERA_INT_HANDLER)( ALTERA_HANDLE hALTERA, ALTERA_INT_RESULT *intResult);
  56.  
  57. // options for ALTERA_Open
  58. enum { ALTERA_OPEN_USE_INT =   0x1 };
  59.  
  60. BOOL ALTERA_Open (ALTERA_HANDLE *phALTERA, DWORD dwVendorID, DWORD dwDeviceID, DWORD nCardNum, DWORD options);
  61. void ALTERA_Close(ALTERA_HANDLE hALTERA);
  62. DWORD ALTERA_CountCards (DWORD dwVendorID, DWORD dwDeviceID);
  63. BOOL ALTERA_IsAddrSpaceActive(ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace);
  64.  
  65. void ALTERA_GetPciSlot(ALTERA_HANDLE hALTERA, WD_PCI_SLOT *pPciSlot);
  66.  
  67. // General read/write function
  68. void ALTERA_ReadWriteBlock(ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset, BOOL fRead, PVOID buf, DWORD dwBytes, ALTERA_MODE mode);
  69. BYTE ALTERA_ReadByte (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset);
  70. WORD ALTERA_ReadWord (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset);
  71. DWORD ALTERA_ReadDword (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset);
  72. void ALTERA_WriteByte (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset, BYTE data);
  73. void ALTERA_WriteWord (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset, WORD data);
  74. void ALTERA_WriteDword (ALTERA_HANDLE hALTERA, ALTERA_ADDR addrSpace, DWORD dwOffset, DWORD data);
  75. // handle interrupts
  76. BOOL ALTERA_IntIsEnabled (ALTERA_HANDLE hALTERA);
  77. BOOL ALTERA_IntEnable (ALTERA_HANDLE hALTERA, ALTERA_INT_HANDLER funcIntHandler);
  78. void ALTERA_IntDisable (ALTERA_HANDLE hALTERA);
  79. // access to PCI configuration registers
  80. void ALTERA_WritePCIReg(ALTERA_HANDLE hALTERA, DWORD dwReg, DWORD dwData);
  81. DWORD ALTERA_ReadPCIReg(ALTERA_HANDLE hALTERA, DWORD dwReg);
  82. void ALTERA_WritePCIRegN(ALTERA_HANDLE hALTERA, DWORD dwReg, DWORD dwData, DWORD dwBytes);
  83. DWORD ALTERA_ReadPCIRegN(ALTERA_HANDLE hALTERA, DWORD dwReg, DWORD dwBytes);
  84.  
  85. BOOL ALTERA_DMAReadWriteBlock(ALTERA_HANDLE hALTERA, DWORD dwLocalAddr, PVOID pBuffer, BOOL fRead, DWORD dwBytes, BOOL fChained);
  86.  
  87.  
  88. // this string is set to an error message, if one occurs
  89. extern CHAR ALTERA_ErrorString[];
  90.  
  91.  
  92. enum {
  93.     ALTERA_REG_DMACSR = 0x0, /* 0 Control Status register */
  94.     ALTERA_REG_DMAACR = 0x4, /* 4 PCI Address - Host memory address */
  95.     ALTERA_REG_DMABCR = 0x8, /* 8 Byte Count Register - In SG mode */
  96.     ALTERA_REG_DMAISR = 0xc, /* c Interrupt Status register */
  97.     ALTERA_REG_DMALAR = 0x10,
  98.     ALTERA_REG_SDRAM_BAR = 0x18,
  99.     ALTERA_REG_SDRAM_CFG0 = 0x1c,
  100.     ALTERA_REG_SDRAM_CFG1 = 0x20,
  101.     ALTERA_REG_SDRAM_CFG2 = 0x24,
  102.     ALTERA_REG_TARG_PERF = 0x80,
  103.     ALTERA_REG_MSTR_PERF = 0x84,
  104. };
  105.  
  106. enum {
  107.      INTERRUPT_ENABLE =    0x0001,
  108.     DMA_ENABLE        =    0x0010,
  109.     TRXCOMPINTDIS    =    0x0020,
  110.     CHAINEN            =    0x0100,
  111.     DIRECTION        =    0x0008,
  112. };
  113.  
  114. enum { FIFO_BASE_OFFSET = 512 * 1024 }; // was 16 * 1M
  115. enum { SDRAM_BASE_OFFSET = 0 }; // was 32 * 1M
  116. enum { ALTERA_DMA_FIFO_REGS = 128 };
  117.  
  118. // ISR
  119. enum {
  120.     INTERUPT_PENDING    = 0x01,
  121.     ERROR_PENDING        = 0x02,
  122.     LOCAL_REQ            = 0x04,
  123.     TX_COMP                = 0x08,
  124.     ACR_LOADED            = 0x10,
  125.     CHAIN_STARTED        = 0x20,
  126. };
  127.  
  128. #ifdef __cplusplus
  129. }
  130. #endif
  131.  
  132. #endif
  133.  
  134.